﻿#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <assert.h>
//char * my_strcpy(char* arr1, const char* arr2)
//{
//	char* p = arr1;
//	assert(arr1 && arr2);
//	int count = 0;
//	while (*arr1++ = *arr2++)
//	{
//		count++;
//	}
//	printf("%d\n", count);
//	return p;
//}
//int main()
//{
//	char arr1[10] = { 0 };
//	char arr2[] = "hello";
//	char* r = my_strcpy(arr1, arr2);
//	printf("%s\n", r);
//	printf("%zu\n", strlen(r));
//	return 0;
//}

//char* my_strcat(char* arr1, const char* arr2)
//{
//	char* p = arr1;
//	assert(arr1);
//	assert(arr2);
//	while (*arr1)
//	{
//		*arr1++;
//	}
//	while (*arr1++ = *arr2++)
//	{
//		;
//	}
//	return p;
//}
//int main()
//{
//	char arr1[20] = "hello ";
//	char arr2[] = "world";
//	char* r = my_strcat(arr1, arr2);
//	printf("%s\n", r);
//	printf("%zu\n", strlen(arr1));
//	return 0;
//}



//int main()
//{
//	char arr1[] = "abcdef";
//	char arr2[] = "abq";
//	int ret = strcmp(arr1, arr2);
//	printf("%d\n", ret);
//	if (ret > 0)
//		printf("arr1 > arr2\n");
//	else if (ret == 0)
//		printf("arr1 == arr2\n");
//	else
//		printf("arr1 < arr2\n");
//	return 0;
//}
//int strcmp(const char* str1, const char* str2);
//int my_strcmp(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	while (*str1 == *str2)
//	{
//		if (*str1 == '\0')
//			return 0;
//		str1++;
//		str2++;
//	}
//	return *str1 - *str2;
//}
//int main()
//{
//	char str1[] = "abcdef";
//	char str2[] = "abf";
//	int r = my_strcmp(str1, str2);
//	if (r > 0)
//		printf("str1>str2\n");
//	else if(r<0)
//		printf("str1<str2\n");
//	else
//		printf("str1=str2\n");
//	return 0;
//}




//int main()
//{
//	char arr1[20] = { 0 };
//	char arr2[] = "abcdefghi";
//	char* str = strncpy(arr1, arr2, 5);
//	printf("%s\n", arr1);
//	printf("%s\n", str);
//	return 0;
//}
//char* strncpy(char* destination, const char* source, size_t num);
//char* my_strncpy(char* arr1, const char* arr2, size_t num)
//{
//	assert(arr1 && arr2);
//	char* p = arr1;
//	while (num)
//	{
//		*arr1++ = *arr2++;
//		num--;
//	}
//	return p;
//}
//int main()
//{
//	char arr1[20] = { 0 };
//	char arr2[] = "abcdefghi";
//	char* str = my_strncpy(arr1, arr2, 5);
//	printf("%s\n", str);
//	return 0;
//}


//int main()
//{
//	char arr1[] = "hello ";
//	char arr2[] = "worldxxxxx";
//	char * r = strncat(arr1, arr2, 5);
//	printf("%s\n", r);
//	printf("%zu\n", strlen(r));
//	return 0;
//}
//char* strncat(char* destination, const char* source, size_t num);
//char* my_strncat(char* arr1, const char* arr2, size_t num)
//{
//	assert(arr1 && arr2);
//	char* p = arr1;
//	while (*arr1)
//	{
//		arr1++;
//	}
//	while (num)
//	{
//		*arr1++ = *arr2++;
//		num--;
//	}
//	return p;
//}
//int main()
//{
//	char arr1[20] = "hello ";
//	char arr2[] = "worldxxxxx";
//	char* r = my_strncat(arr1, arr2, 5);
//	printf("%s\n", r);
//	printf("%zu\n", strlen(r));
//	return 0;
//}

//int strncmp(const char* str1, const char* str2, size_t num);

//int main()
//{
//	char str1[] = "bcdef";
//	char str2[] = "abcf";
//	int r = strncmp(str1, str2, 1);
//	if (r > 0)
//		printf("str1>str2\n");
//	else if(r<0)
//		printf("str1<str2\n");
//	else
//		printf("str1=str2\n");
//	return 0;
//}

//int main()
//{
//	char arr[] = "192.168.6.111";
//	const char* sep = ".";
//	const char* str = NULL;
//	char buf[30] = { 0 };
//	strcpy(buf, arr); //将arr中的字符串拷⻉到buf中，对buf的内容进⾏切割
//	for (str = strtok(buf, sep); str != NULL; str = strtok(NULL, sep))
//	{
//		printf("%s\n", str);
//	}
//	return 0;
//}



//int main() 
//{
//    char ch;
//    int i = 0;
//    while (scanf("%c", &ch) != EOF)
//    {
//        if (ch == '\n')
//        {
//            i++;
//        }
//        printf("%c", ch);
//        if (i == 5) 
//        {
//            break;
//        }
//    }
//    return 0;
//} 



int main() 
{
    char ch;
    int newline_count = 0;  // 更具描述性的变量名

    while (scanf("%c", &ch) == 1)
    {  // 直接检查成功读取
        printf("%c", ch);

        if (ch == '\n') 
        {
            newline_count++;
            if (newline_count == 5) 
            {
                break;  // 遇到第5个换行符后退出
            }
        }
    }

    return 0;
}